bitkeeper revision 1.1236.32.2 (42360b33-HudAOddVBt3ez4shMiyOw)
authormafetter@fleming.research <mafetter@fleming.research>
Mon, 14 Mar 2005 22:07:47 +0000 (22:07 +0000)
committermafetter@fleming.research <mafetter@fleming.research>
Mon, 14 Mar 2005 22:07:47 +0000 (22:07 +0000)
commit0150d071ffc76d82edeaf732c2db82cbeef52177
tree3d2f8d03a0d06ad8eb4a9b07f88869553a19b9ac
parentd935fccc37786af2f95100170a5de622d21621e9
bitkeeper revision 1.1236.32.2 (42360b33-HudAOddVBt3ez4shMiyOw)

Initial fullshadow checkin.

Things still to do:
- reuse snapshots intelligently.
- minimize tlb flushes during resync.
- figure out when to free up no-longer-used L2 shadows, and
  generally deal with out-of-memory kinds of problems.

Some basic guidelines:
- With fullshadow on, you can not trust
  linear_pg_table unless you have first checked whether the VA
  in which you are interested is out-of-sync or not.
- Significant new functions/macros include:
  page_out_of_sync(mfn): returns true if page is out of sync.
  shadow_mark_out_of_sync: make a page be out of sync (allocating
     any necessary snapshots, etc)
  shadow_out_of_sync(va): returns true if the current mappings
     involved in va are out-of-sync.
  shadow_sync_va(): bring the pages involved in mapping a particular
     va back into sync.  Currently calls shadow_sync_all().
  shadow_sync_all(): bring all pages back in-sync.

Signed-off-by: michael.fetterman@cl.cam.ac.uk
20 files changed:
.rootkeys
xen/arch/x86/audit.c [new file with mode: 0644]
xen/arch/x86/domain.c
xen/arch/x86/mm.c
xen/arch/x86/shadow.c
xen/arch/x86/traps.c
xen/arch/x86/vmx.c
xen/arch/x86/x86_32/domain_build.c
xen/arch/x86/x86_32/domain_page.c
xen/common/dom_mem_ops.c
xen/common/keyhandler.c
xen/common/page_alloc.c
xen/common/schedule.c
xen/include/asm-x86/domain.h
xen/include/asm-x86/mm.h
xen/include/asm-x86/page.h
xen/include/asm-x86/shadow.h
xen/include/asm-x86/x86_32/page.h
xen/include/xen/domain.h
xen/include/xen/perfc_defn.h